草庐IT

OpenHarmony NAPI模块注册流程介绍

全部标签

javascript - 从子文件夹运行 eslint 时无法解析相对模块路径

当我从我的存储库的根文件夹运行eslint时,一切运行正常,没有错误。但是当我从子文件夹运行时,我得到大量导入/Unresolved问题,而当我从根目录运行时不会发生:/reporoot/subfolder0/subfolder1/MyFile.js11:8errorUnabletoresolvepathtomodule'foo'import/no-unresolved11:8errorMissingfileextensionfor"foo"import/extensions14:97errorUnabletoresolvepathtomodule'foo'import/no-unre

javascript - 在node.js中,如何将模块的所有事件转发给另一个

假设我正在创建自己的模块,它位于“net”模块之上。我的模块有自己的事件,但也允许客户端监听由tcp连接发出的网络事件:mymod.on('myevent',...);//myeventmymod.on('connect',...);//neteventmymod.on('end',...);//netevent现在我正在做以下事情...tcp.on('connect',function(){self.emit('connect');});tcp.on('end',function(){self.emit('end');});...我有没有更惯用的方法来简单地将所有事件(或事件的子集)

javascript - grunt-usemin:定义自定义流程

我正在使用grunt-usemin插入。我想知道下面该怎么做。我在index.html中有两个usemin配置block。.............第一个block,scriptsmi​​n.js,是缩小文件。其次,scripts.js,包含所有需要缩小的文件。我喜欢。在第二个block上运行minifier(uglifyjs)将第一个block与第二个的缩小版本连接(第1步)如果这些block在同一个文件中是否可能。我看到关于flow的部分.无法理解我是否可以命名配置block,并在每个配置block上设置单独的流程。它讨论了基于文件名(index.html)的流程。我应该如何编写g

javascript - 在不同模块之间调解和共享数据

我只是想了解事件驱动的JS,所以请多多包涵。我的应用程序中有不同种类的模块。有些只是封装数据,有些则管理DOM的一部分。有些模块依赖于其他模块,有时一个模块依赖于多个其他模块的状态,但我不希望它们直接通信或将一个模块传递给另一个模块只是为了方便访问。我试图创建最简单的场景来说明我的问题(当然,实际的模块要复杂得多):我有一个只公开一些数据的数据模块:vardataModule={data:3};有一个configModule公开了用于显示该数据的修饰符:varconfigModule={factor:2};最后有一个displayModule组合并呈现来自其他两个模块的数据:vardi

javascript - 如何在 RT 上添加插件和使用一些外部模块/文件

我有node.js应用程序/模块,它工作正常,具有插件概念,即我的模块就像代理一样,具有额外的功能,例如添加新功能到开箱即用的功能(方法)。为此,您需要执行以下操作:clonemyapplicationcreatenewfolderwhichiscalledextenders(insidemyapp)在这个文件夹中你应该提供两个文件extend.jswithyourlogicasfunctions/methodsextend.jsonwhichdefineyourAPI(toknowwhichfiletoinvoke)注意:JS&JSON文件名必须相同例如,假设这是您的extend.j

javascript - 找不到模块 chai 尽管它存在于节点模块文件夹中

我尝试使用以下命令安装chai。npminstall--save-devchai然后我使用以下导入运行我的单元测试类。import{assert}from'chai';import{expect}from'chai';它抛出以下错误。test\main\MessageBroker.spec.ts(3,22):errorTS2307:Cannotfindmodule'chai'.[05:38:45][Typescript]TypeScripterror:test\main\MessageBroker.spec.ts(3,22):errorTS2307:Cannotfindmodule'c

javascript - 如何使用 TypeScript 编译器 (TSC) 解析 Node.js ES6 (ESM) 模块。 TSC 不发出正确的文件扩展名

我正在尝试将我的TypeScript项目转换为JavaScript,但是,似乎有些不对劲。我将项目配置为通过"module":"ES6"解析为ES6模块(又名ESM)设置,但不能解决问题。这就是我的tsconfig.json配置如下:{"compilerOptions":{"module":"es6","target":"es6","lib":["es6"],"sourceMap":true,}}使用一对模块的测试用例:我使用两个模块编写了一个简单的测试用例senario。第一个模块—module1.ts—只导出一个常量,如下所示:>exportconsttestText="Itwor

javascript - 如何从 JavaScript 模块模式中的私有(private)函数中调用公共(public)函数

如何从JavaScript模块模式中的私有(private)函数调用公共(public)函数?例如,在下面的代码中,varmyModule=(function(){varprivate1=function(){//Howtocallpublic1()here?//this.public1()won'twork}return{public1:function(){/*dosomething*/}}})();这个问题有人问过twicebefore,每个都有不同的可接受答案。在返回之前保存对返回对象的引用,然后使用该引用访问公共(public)方法。参见answer.在闭包中保存对公共(pu

javascript - 在 Angular2 应用程序中找不到名称模块

我正在使用angular-cli来运行我的typescript驱动的angular2应用程序。我有一个AppComponent定义如下:import{Component}from'@angular/core';import{ServersListComponent}from'./servers-list/servers-list.component';@Component({moduleId:module.id,selector:'app',templateUrl:'app.component.html',styleUrls:['app.component.css'],directiv

javascript - 垃圾收集未使用的模块

我正在使用动态导入来加载用户在浏览器中编写的脚本。我首先将脚本内容放入一个blob中,然后使用动态import()将脚本作为模块加载。随着时间的推移,我预计这些脚本会发生变化并被销毁,从而使相应的模块被垃圾回收。然而,根据Chrome中的内存分析,这并没有发生。原因似乎与称为ModuleMap的东西有关。这是我在不再使用所有脚本后拍摄的内存快照的屏幕截图。如您所见,Window对象提供了通往这些模块的保留路径。只要是这种情况,我肯定最终会耗尽内存,因为每次用户编辑脚本时都会创建这些模块。我想知道是否有办法让Chrome(和其他浏览器)在不再使用这些模块时卸载它们。